package com.szh.consumer.controller;


import com.szh.common.constant.MQConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * 学习 MQ （队列，交换机，绑定）手动创建（这种方式已经没人用了，测试一下还是）
 */
@RestController
@RequestMapping
@Slf4j
public class BasicUserCase {

    @Resource
    RabbitTemplate rabbitTemplate;



   

    
    
    /**
     * 测试发送
     *todo 这里发送消息可以是一个任意类型的对象，如果是对象的话，必须实现 序列化接口
     * */
    @GetMapping("/sendMsgTo")
    public void sendMsgTo(){
        String message = "hello world";
        // 默认采用是java的序列化，具体看RabbitAutoConfiguration  然后找到 MessageConverter 看实现AbstractMessageConverter
        rabbitTemplate.convertAndSend(MQConstant.HELLO_JAVA_EXCHANGE, MQConstant.HELLO_JAVA_ROUTE_KEY,"orderEntity");
        log.info("发送休息：{}",message);
    }
}
